const express=require('express')

const app=express()

// 最简单的中间件
// const mw=function (req,res,next){
//     console.log('这是一个中间件')
//     // 必须调用next
//     next()
// }
//
// 注册为全局中间件
// app.use(mw)
//
// app.get('/user',(req,res)=>{
//     res.send('User Page')
// })
//
// app.listen(80)



//中间件的简写
// app.use((req,res,next)=>{
//     console.log('这是一个中间件')
//     // 必须调用next
//     next()
// })
//
// app.get('/user',(req,res)=>{
//     res.send('User Page')
// })
//
// app.listen(80)


//中间件挂载参数
// app.use((req,res,next)=>{
//     console.log('这是一个中间件')
//     // 中间件向req上挂载参数,可在后面的路由中调用
//     req.a=10
//
//     // 必须调用next
//     next()
// })
//
// app.get('/user',(req,res)=>{
//     res.send('User Page'+req.a)
// })
//
// app.listen(80)



//多个中间件
app.use((req,res,next)=>{
    console.log('这是第一个中间件')
    // 中间件向req上挂载参数,可在后面的路由中调用
    req.a=10

    // 必须调用next
    next()
})
app.use((req,res,next)=>{
    console.log('这是第二个中间件')
    // 中间件向req上挂载参数,可在后面的路由中调用
    req.a=20

    // 必须调用next
    next()
})

app.get('/user',(req,res)=>{
    res.send('User Page'+req.a)
})

app.listen(80)